perm filename SS[XX,LCS] blob sn#207684 filedate 1976-03-20 generic text, type T, neo UTF8
00100		TITLE SS
00200		INTERNAL STAFF
00300		EXTERNAL STF,ALF,LINES,LINX,.COMM.,RHORZ,PLTR,POSI
00500	;	REAL DIS,DISX,HGT,POS,CENTR,STFF,HGT1
00700	;	COMMON R2,JA,CENTR,J2,RJQ(20),JQ(20)/BM/RA,RC,RJY
00800	;	COMMON/POSI/STFF(-3/4),JJ2,POS/PLTR/PLT,RHT,DIS
01100	;	EQUIVALENCE (J3,JQ(1)),(J4,JQ(2)),(J5,JQ(3)),(R5,RJQ(3))
01200	;	1,(R6,RJQ(4)),(J7,JQ(5)),(J8,JQ(6)),(J9,JQ(7)),(J10,JQ(8))
01300	;	1,(J11,JQ(9)),(J6,JQ(4)),(R9,RJQ(7)),(R8,RJQ(6)),(R3,RJQ(1))
01400	;	1 ,(R7,RJQ(5)),(R4,RJQ(2)),(R9,RJQ(7)),(R10,RJQ(8)),(RX3,RJQ(20))
19400	STAFF:	0		;100	RA=0
19500	;  FOR STAFF LINES: 8, POS 1, HGT(3 TO -3), UP-DOWN(NT #S), 
19600	;  P5=SIZE, P6=2ND POS., P7=(1=INVIS.), P8=SPACER, P9=INST. NAME
19700	;  P6=SIZE FACTOR, IF P7≠0 STAFF IS INVIS. 
19800	;  PLT =-2 MAKES HEAVY STAFF.(FOR XGP)
19900	;   IF(R5.EQ.0)R5=RSTFAC(J2)
19950		MOVE 2,.COMM.+6
19975		JUMPN 2,.+3
19980		MOVE 3,.COMM.+3		;  J2
19985		MOVE 2,POSI+3(3)	; TEMP. R5 IS 2
20000		SKIPN 2			;CALL NOZERO(R5)
20005		MOVE 2,[1.0]
20100		MOVEM 2,STF+3(3)	;RSTFAC(J2)=R5
20200		MOVE 4,.COMM.+5	;RX=(J2+3)*123-369.+AMOD(R4,100.)*7.*R5
20230		FMPR 4,[7.0]
20240		FMPR 4,2
20245		MOVE 15,3
20250		ADDI 15,3	; J2+3
20260		MULI 15,=123
20270		SUBI 15,=369
20280		TLC 15,232000
20290		FADR 15,15
20295		FADR 15,4	;  15 IS RX
20400		MOVEM 15,POSI+3(3)	;STFF(J2)=RX
20500		MOVE 13,[3.0]		; RTF    RX=RX+RTF*R5
20550		FMPR 13,2
20575		FADR 15,13	; 15 IS RX
20600	;  FOR RTF SEE DATA
20700		MOVE 13,15	; 13 IS RA
20800	;  FOR 2 PASS PLOTTING
20900		JSA 16,RHORZ		;RJ=RHORZ(R6)
20950		JUMP .COMM.+7
21000		SKIPN .COMM.+7
21025		MOVE [596.0]		;IF(R6.EQ.0)RJ=596
21050		MOVEM ALF+4		;  RJ
21100		FMPR 2,[14.0]		;R5=R5*14.
21110		MOVEM 2,.COMM.+6
21200		SKIPE .COMM.+10		;IF(R8.EQ.0)GO TO 68
21210		SKIPGE PLTR
21300		JRST STF68		;IF(PLT)GO TO 68
21400		MOVE 14,.COMM.+10	;RZ=RX+R8*167.
21410		FMPR 14,[167.0]
21420		FADR 14,15		; 15 IS RX
21430	;;;	MOVEM 14,ALF+5		;  RZ
21500	;  167 IS A MAGIC NUMBER!!  PUTS LINE ON DPY.
21600		JSA 16,LINX		;CALL LINX(R3,RZ,RJ,RZ)
21610		JUMP .COMM.+4
21620		JUMP 14
21630		JUMP ALF+4
21640		JUMP 14
21700	;  SHOWS WHERE NEXT STAFF 0 WILL BE.
21800	STF68:	SKIPN .COMM.+=28	;68	IF(J7.EQ.0)GO TO 101
21810		JRST STF101
21900		SKIPN PLTR		;IF(PLT.EQ.0)CALL LINES(-596.,RX,3)
21910		JRA 16,(16)
21920		JSA 16,LINES
21930		JUMP [3]
21940		JUMP [3]
21950		JUMP [3]
22000	;  TO ACTIVATE DPY BUFFER
22100		JRA 16,(16)		;RETURN
22110	STF101:	MOVE 14,.COMM.+=25	;101	L=IABS(J4/100)
22115		IDIVI 14,=100
22117		MOVM 14
22120		SKIPN 14,		;IF(L.EQ.0)L=5
22125		MOVEI 14,5		; L IS 14
22130	;  P4=0=STANDARD 5-LINE STAFF.  600=6 LINES, ETC.
22200	STF69:	SETZ 12,	; K 69	DO 6 K=1,L
22210		MOVE 11,ALF+4
22220		MOVE 10,.COMM.+4
22230	STF1:	JSA 16,LINX
22300		JUMP 11			;RZ=RJ
22400		JUMP 15			;RW=R3
22500		JUMP 10			;IF(K.EQ.2)GO TO 66
22600		JUMP 15			;IF(K.NE.4)GO TO 67
22700		EXCH 11,10		;66	CALL EXCH(RW,RZ)
22800		FADR 15,.COMM.+6	;67	CALL LINX(RZ,RX,RW,RX)
22900		AOJ 12,			;6	RX=RX+R5
22910		CAMGE 12,14
22920		JRST STF1
23000		MOVNI 2			;IF(RA.EQ.1000)RETURN
23100		CAMN PLTR			;IF(PLT.NE.-2)RETURN
23200		SKIPN 13		;RX=RA-1./RHT
23210		JRA 16,(16)
23400		MOVN 15,[1.0]		;RA=1000
23410		FDVR 15,PLTR+1
23420		FADR 15,13
23500		SETZ 13,		;GO TO 69
23600		JRST STF69		;END
23610		END